/*
 * 自定义剪切板组件
 * @Author: Jevon
 * @Date: 2021-12-15 19:08:49
 */
export default class VuiClipboardCustom {
  /**
   *
   * @param {*}
   * @return {*}
   */
  constructor() {
    this.data = {
      item: null,
      status: VuiClipboardUtils.STATUS.none,
      time: null
    };
  }

  static STATUS = {
    none: 0,
    cut: 1,
    copy: 2
  };

  /**
   * 剪切
   * @param {*} item
   * @return {*}
   */
  cut(item) {
    this.data = {
      item,
      status: VuiClipboardUtils.STATUS.cut,
      time: new Date()
    };
  }

  /**
   * 复制
   * @param {*} item
   * @return {*}
   */
  copy(item) {
    this.data = {
      item,
      status: VuiClipboardUtils.STATUS.copy,
      time: new Date()
    };
  }

  /**
   * 粘贴
   * @param {*}
   * @return {*}
   */
  paste() {
    return this.config;
  }

  /**
   * 判断剪切板中是否有被剪切的内容
   * @param {*}
   * @return {*}
   */
  isCut() {
    return this.data.status === VuiClipboardUtils.STATUS.cut;
  }

  /**
   * 判断剪切板中是否有被复制的内容
   * @param {*}
   * @return {*}
   */
  isCopy() {
    return this.data.status === VuiClipboardUtils.STATUS.copy;
  }

  /**
   * 清理剪切板
   * @param {*}
   * @return {*}
   */
  clear() {
    this.data = {
      item: null,
      status: VuiClipboardUtils.STATUS.none,
      time: null
    };
  }
}
